// 第一种方法
var firstUniqChar = function (s) {
  if (s.length === 1) return s;
  for (let i of s) {
    if (s.indexOf(i) === s.lastIndexOf(i)) {
      return i;
    }
  }
  return ' '; 
}

// 第二种方法
// map 遍历的顺序是按插入的顺序遍历的
var firstUniqChar = function (s) {
  let map = new Map();
  for (const k of s) {
    map.set(k, !map.has(k));
  }

  // return 的作用是结束本次循环
  for (const [k, val] of map) {
    if (val) return k;
  }
  return ' ';
}